The present invention relates generally to communication networks, and more specifically, to a coding scheme for data aggregation of 8b/10b protocols.
Wavelength Division Multiplexing (WDM) is an optical technology that couples many wavelengths in the same fiber, thus effectively increasing the aggregate bandwidth per fiber to the sum of the bit rates of each wavelength. Dense WDM (DWDM) is a technology with a larger (denser) number of wavelengths (e.g.,  greater than 40) coupled into a fiber than WDM. Systems may support, for example, 100 wavelengths per fiber, enabling a single fiber to carry several hundred gigabits of information. DWDM increases the capacity of embedded fiber by first assigning incoming optical signals to specific frequencies within a designated frequency band and then multiplexing the resulting signals out onto one fiber. DWDM combines multiple optical signals so that they can be amplified as a group and transported over a single fiber to increase capacity. Each signal can be at a different rate and in a different format. DWDM applications include ultra-high bandwidth long haul as well as ultra-high-speed metropolitan or inner city-networks, and at the edge of other networks such as SONET, Internet protocol (IP) and asynchronous transfer mode (ATM).
In conventional DWDM applications, many different protocols need to be aggregated into a single data channel to be transported over a wavelength. For example, a single 10 Gigabit DWDM channel can carry multiple lower-speed source application protocols such as ESCON (200M), Fiber Channel (1.0625G) or Gigabit Ethernet (1.35G), and multiple channels of those protocols need to be converged to one transport interconnect signal, such as the 10 Gigabit Ethernet (IEEE 802.3.ae) or SONET (OC-48, OC-192), which are the most prominent choices for DWDM technology.
Communication systems transmit signals by means of a number of coding techniques. The 8b/10b code translates 8 bits into one of 256 predetermined 10-bit codes. The extra two bits of code serve a variety of purposes, including differentiating control blocks from data blocks, error detection (disparity control), frame delimiting with data transparency, DC voltage balance, and transitions for clock recovery. An 8b/10b encoder is used to convert 8b data into 10b data. 8b/10b encoding is used in transmitting data on Fibre Channel, ESCON (Enterprise Serial Connection), and Gigabit Ethernet, for example. ESCON was developed by IBM and is widely deployed in large mainframe installations. A mainframe computer may have hundreds of ESCON I/O channels. These channels may be connected to other mainframes or to peripheral devices. Fibre channel is a standard used for the same set of applications as ESCON.
FIG. 1 illustrates operation of the 8b/10 code. The code combines a 5b/6b code and a 3b/4b code. A mapping is defined that maps each of the possible 8-bit source blocks into a 10-bit code block. There is also a function called disparity control that keeps track of the excess of zeros over ones or ones over zeros. The unencoded input includes 8 bits (A, B, C, D, E, F, G, H) and a control variable. The control line input indicates whether lines A through H are data or control bits. The input information is encoded into bits (a, b, c, d, e, f, g, h, i, j) of a 10-bit transmission character. The control variable is either a xe2x80x9cDxe2x80x9d for data characters or a xe2x80x9cKxe2x80x9d for special characters. Each valid transmission character is given a name using the following convention: Kxx.y, where K is the control variable of the unencoded information byte, xx is the decimal value of the binary number composed of the bits E, D, C, B, and A, and y is the decimal value of the binary number composed of the bits H, G of the unencoded information byte. The information received is recovered 10 bits at a time and those transmission characters used for data are decoded into one of the 256 8-bit combinations. Some of the remaining transmission characters are used for protocol management functions.
Since the DWDM protocol of either 10 Gigabit Ethernet or SONET is different from the source application protocols, one way to converge the application protocols is to participate the protocol and terminate the application at the connecting node and regenerate the application protocol at the other end. This, however, involves complicated and expensive system designs. A more efficient method is to perform a transparent interconnect, so that the application protocol data is directly carried through 10 Gigabit Ethernet or SONET. However, protocols such as ESCON and Fibre Channel use the 10b code of the 8b/10b scheme as a part of the protocol signaling. The 10 Gigabit Ethernet employs 8b/10b code for physical communication; however, it does not carry the 10b symbols on user data. SONET uses a total different scrambling scheme and can only carry 8b data.
There is, therefore, a need for a method and system for translating source 8b/10b protocol signals into 8-bit user data.
A method of coding data for communication within a network is disclosed. The method generally includes receiving an 8b/10b source protocol data stream containing 10-bit code and translating the data stream into an 8-bit code by converting the 10-bit code into 8-bit data and an ordered set. The method further includes transmitting the 8-bit code.
In another aspect of the invention, a method of aggregating different protocols into a single data channel generally comprises receiving a source protocol data stream comprising a plurality of input bits containing data and control information. The method further includes encoding the input bits to translate the data stream into a code containing bit data having a smaller number of bits than the code of the received signals, wherein the encoded bits contain data and ordered sets. The encoded code is combined with another data stream of encoded code having a different source protocol.
A system for coding data for communication within a network generally comprises an ordered set processor operable to receive an 8b/10b source protocol data stream containing 10-bit code and translating the data stream into an 8-bit code by converting the 10-bit code into 8-bit data and an ordered set. The system further includes a data encoder/decoder.
A computer program product for coding data for communication within a network generally comprises code that receives an 8b/10b source protocol data stream containing 10-bit code; code that translates the data stream into an 8-bit code by converting the 10-bit code into 8-bit data and an ordered set; and code that transmits the 8-bit code. A computer-readable storage medium is provided for storing the codes.